package com.nageoffer.shortlink.project.dto.req;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nageoffer.shortlink.project.dao.entity.ShortLinkDO;
import lombok.Data;

/**
 * 短链接分页请求参数
 */


/**
 * 为什么要继承 Page<ShortLinkDO>?
 * 分页功能: Page 类通常包含分页相关的字段和方法，比如页码（current page）、每页大小（page size）、总记录数（total count）等。
 * 通过继承 Page<ShortLinkDO>，ShortLinkPageReqDTO 可以直接使用这些分页功能，无需重新定义分页逻辑。
 *
 * 类型安全: Page<ShortLinkDO> 泛型表示分页的数据类型是 ShortLinkDO。这确保了分页请求和响应的数据类型的一致性和类型安全。ShortLinkDO 是与短链接相关的实体类。
 *
 * 方便扩展: 继承 Page<ShortLinkDO> 可以让 ShortLinkPageReqDTO 类具备分页功能，同时可以扩展额外的字段或方法。这里，gid 字段可以作为额外的过滤条件，用于进一步指定分页查询的条件。
 */
@Data
public class ShortLinkPageReqDTO extends Page<ShortLinkDO> {


    /**
     * 分组标识
     */
    private String gid;

    /**
     * 排序标识
     */
    private String orderTag;

}
